gchar *name;
g_return_val_if_fail (r_name != NULL, 0);
- g_return_val_if_fail (marshaller != NULL, 0);
g_return_val_if_fail (nparams < MAX_SIGNAL_PARAMS, 0);
if (nparams)
g_return_val_if_fail (params != NULL, 0);
GtkObjectClass *class;
GtkHandler *handler;
gint found_it;
-
+ GtkSignal *signal;
+
g_return_val_if_fail (object != NULL, 0);
g_return_val_if_fail (object->klass != NULL, 0);
+ /* A signal without a default marshaller can only take no_marshal
+ handlers. */
+
+ signal = LOOKUP_SIGNAL_ID (signal_id);
+ g_return_val_if_fail (signal->marshaller || no_marshal, 0);
+
/* Search through the signals for this object and make
* sure the one we are adding is valid. We need to perform
* the lookup on the objects parents as well. If it isn't
return new_type;
}
+gboolean
+gtk_type_get_info (GtkType type,
+ GtkTypeInfo *info)
+{
+ GtkTypeNode *node;
+
+ if (info == NULL)
+ return FALSE;
+
+ LOOKUP_TYPE_NODE (node, type);
+ if (node == NULL)
+ return FALSE;
+
+ *info = node->type_info;
+ return TRUE;
+}
+
gchar*
gtk_type_name (GtkType type)
{
void gtk_type_init (void);
GtkType gtk_type_unique (GtkType parent_type,
const GtkTypeInfo *type_info);
+gboolean gtk_type_get_info (GtkType type,
+ GtkTypeInfo *info);
void gtk_type_set_chunk_alloc (GtkType type,
guint n_chunks);
gchar* gtk_type_name (guint type);